/*
 *  $Id: Resources.cs 1145 2010-09-30 14:59:39Z thenn.erannor $
 *	This file is a part of Ragima CCG.
 *	(C) 2008-2009 Ragima development group.
 *
 *	Licensed under the terms of the GNU GPL License version 2.
 *
 */

using System.Collections.Generic;

using AgateLib.DisplayLib;
using AgateLib.Geometry;

namespace Ragima.Languages {
    public class EnglishResources: ILocalizerFactory {
        IEnumerable<ILocalizer> ILocalizerFactory.GetLocalizers() {
            yield return new ArrayLocalizer("en", new ResourceGroup[] {
                new ResourceGroup(new ResourceItem[] {
                    EnglishName.New("default.animate", "somebody"),
                    EnglishName.New("default.inanimate", "something"),
                }),
                new ResourceGroup("app.", new ResourceItem[] {
                    EnglishPhrase.New("name", "Ragima {0}"),
                    EnglishPhrase.New("loaded_language", "Loaded language: '{0}'. Localized resources: {1}"),
                    EnglishPhrase.New("error", "Error"),
                    EnglishPhrase.New("error.audio", "Audio driver initialization error."),
                    EnglishPhrase.New("error.message", "The program encountered an error, after clicking OK program will be closed.\nError message can be see in a file 'error.log'."),
                }),
                new ResourceGroup(new ResourceItem[] {
                    EnglishName.New("player1", "Player 1"),
                    EnglishName.New("player2", "Player 2"),
                    EnglishPhrase.New("success", "success"),
                    EnglishPhrase.New("failure", "failure"),
                }),
                new ResourceGroup("element.", new ResourceItem[] {
                    EnglishName.New("neutral", "neutral"),
                    EnglishName.New("light", "light"),
                    EnglishName.New("darkness", "darkness"),
                    EnglishName.New("fire", "fire"),
                    EnglishName.New("water", "water"),
                    EnglishName.New("earth", "earth"),
                    EnglishName.New("air", "air"),
                    EnglishName.New("health", "health"),
                }),
                new ResourceGroup("damage.", new ResourceItem[] {
                    EnglishName.New("physical", "physical attack"),
                    EnglishName.New("physical.affect", "physical attacks"),
                    EnglishName.New("wound", "wound"),
                    EnglishName.New("wound.affect", "wounds"),
                    EnglishName.New("darkness", "darkness"),
                    EnglishName.New("darkness.affect", "darkness"),
                    EnglishName.New("fire", "scorch"),
                    EnglishName.New("fire.affect", "scorches"),
                    EnglishName.New("magic", "magic attack"),
                    EnglishName.New("magic.affect", "magic attacks"),
                    EnglishName.New("health", "health"),
                    EnglishName.New("health.affect", "health"),
                    EnglishName.New("regeneration", "regeneration"),
                    EnglishName.New("regeneration.affect", "regeneration"),
                }),
                new ResourceGroup("race.", new ResourceItem[] {
                    EnglishName.New("angel", "angel"),
                    EnglishName.New("demon", "demon"),
                    EnglishPhrase.New("demon.contract_opening.affect", "Demonic contract opening"),
                    EnglishPhrase.New("demon.contract_opening.action", "{0N} contracts with {1n}."),
                    EnglishPhrase.New("demon.contract_opening.take", "{0N} take payment for contract."),
                    EnglishPhrase.New("demon.contract_opening.pay", "{0N} pay {1} darkness mana."),
                    EnglishName.New("dragon", "dragon"),
                    EnglishName.New("faerie", "faerie"),
                    EnglishPhrase.New("faerie.mana_return.affect", "Mana return"),
                    EnglishName.New("gryphon", "gryphon"),
                    EnglishName.New("jellyfish", "jellyfish"),
                    EnglishName.New("myst_army", "myst army"),
                    EnglishName.New("naga", "naga"),
                    EnglishName.New("prairie_dweller", "prairie dweller"),
                    EnglishName.New("ragima", "ragima"),
                    EnglishName.New("sunshine_order", "Sunshine Order"),
                    EnglishName.New("troll", "troll"),
                    EnglishName.New("unknown", "unknown race"),
                }),
                new ResourceGroup("affect.", new ResourceItem[] {
                    EnglishPhrase.New("ability", "Ability: {0n}"),
                    EnglishPhrase.New("ability_tireless", "Tireless sorcery"),
                    EnglishPhrase.New("absorb.damage", "Absorb damage from {0n}"),
                    EnglishPhrase.New("absorb.full", "Absorb {0n}"),
                    EnglishPhrase.New("absorb.heal", "Absorb heal from {0n}"),
                    EnglishPhrase.New("agility", "Agility"),
                    EnglishPhrase.New("agility.icondesc", "Creature can be blocked by guardians only."),
                    EnglishPhrase.New("always_blocked", "Unavoidable block"),
                    EnglishPhrase.New("always_blocked.icondesc", "Creature losts Nonblocked, Agility, Fast effects."),
                    EnglishPhrase.New("antiflag", "Anti-flag {0}"),
                    EnglishPhrase.New("antimagic", "Antimagic"),
                    EnglishPhrase.New("antimagic.icondesc", "Creature or land cann't be a target of spells or abilities."),
                    EnglishPhrase.New("antimagic.area", "Area antimagic"),
                    EnglishPhrase.New("antimagic.graveyard", "Antimagic in graveyard"),
                    EnglishPhrase.New("antimagic.graveyard.area", "Area antimagic in graveyard"),
                    EnglishPhrase.New("aquatic", "Aquatic"),
                    EnglishPhrase.New("aquatic.icondesc", "Creature can attack only when Deluge is active. Also, Tsunami does no damage to it."),
                    EnglishPhrase.New("attacker", "Attacker"),
                    EnglishPhrase.New("attacker.icondesc", "Creature can attack only, but not to defend."),
                    EnglishPhrase.New("berserk", "Berserk"),
                    EnglishPhrase.New("berserk.icondesc", "Creature always goes to attack."),
                    EnglishPhrase.New("brutal", "Brutal"),
                    EnglishPhrase.New("brutal.icondesc", "Creature deals remained damage to other defenders or to enemy player."),
                    EnglishPhrase.New("cannibal", "Cannibal"),
                    EnglishPhrase.New("cannibal.icondesc", "Creature restores it's health on value of maximum health of enemy's creature if kills it by melee strike."),
                    EnglishPhrase.New("critical_strike", "Critical strike {0} {1is}"),
                    EnglishPhrase.New("critical_strike.icondesc", "With some chance, creature deals more damage."),
                    EnglishPhrase.New("critical_strike.try", "Critical strike. (d{0}, {1})"),
                    EnglishPhrase.New("damage", "Attack {0is}"),
                    EnglishPhrase.New("death", "Death {0}"),
                    EnglishPhrase.New("death.icondesc", "Creature will die in predestined number of turns."),
                    EnglishPhrase.New("death.desc", "Creature will die in {0} turn{0p:,s}."),
                    EnglishPhrase.New("death_stare", "Death stare {0}"),
                    EnglishPhrase.New("death_stare.icondesc", "With some chance, before melee combat creature can kill enemy's creature by it's stare. Chance decreases with each success and restores at next turn."),
                    EnglishPhrase.New("death_stare.try", "{0N} stares at {1n}. (d{2}, {3})"),
                    EnglishPhrase.New("deluge", "Deluge"),
                    EnglishPhrase.New("deluge.icondesc", "Aquatic creature is able to attack."),
                    EnglishPhrase.New("demon_pact", "Demon pact"),
                    EnglishPhrase.New("demon_pact.desc", "Player must pay {1} darkness mana when {0n} dies."),
                    EnglishPhrase.New("disable_attack", "Attack disable"),
                    EnglishPhrase.New("disable_attack.icondesc", "Creature cann't attack."),
                    EnglishPhrase.New("eating", "Eating {0}"),
                    EnglishPhrase.New("eating.icondesc", "Before melee combat creature eats enemy's creature if target's health lesser than value of Eating."),
                    EnglishPhrase.New("eating.action", "{0N} eats {1n}."),
                    EnglishPhrase.New("event.damage", "Damage event"),
                    EnglishPhrase.New("event.hit", "Hit event"),
                    EnglishPhrase.New("event.summon.creature", "Creature summon event"),
                    EnglishPhrase.New("event.summon.land", "Land summon event"),
                    EnglishPhrase.New("fast", "Fast {0}"),
                    EnglishPhrase.New("fast.icondesc", "Creature can be blocked with some chance only, else it attacks next target with damage less by 1."),
                    EnglishPhrase.New("fast.try", "{0N} swiftly attacks. {1N} is trying to defend. (d{2}, {3})"),
                    EnglishPhrase.New("fear", "Fear {0}"),
                    EnglishPhrase.New("fear.icondesc", "Creature doesn't deal damage if it's health lesser than value of Fear."),
                    EnglishPhrase.New("fear.aura", "Fear aura {0}"),
                    EnglishPhrase.New("fear.aura.icondesc", "Creature doesn't get damage from enemy's creatures with maximum health lesser than value of Fear aura."),
                    EnglishPhrase.New("fearless", "Fearless"),
                    EnglishPhrase.New("fearless.icondesc", "Creature ignores Fear and Fear aura effects."),
                    EnglishPhrase.New("finish_kill", "Finisher {0}"),
                    EnglishPhrase.New("finish_kill.icondesc", "Creature kills enemy's creature if after melee strike target's health is less or equal to value of Finisher."),
                    EnglishPhrase.New("first_strike", "First strike"),
                    EnglishPhrase.New("first_strike.icondesc", "creature does first strike in melee combat. Order of strikes doesn't change if both creatures have First strike effect."),
                    EnglishPhrase.New("flight", "Flight"),
                    EnglishPhrase.New("flight.icondesc", "Creature is able to fly, moving it to any empty field. Also, only few creatures can block it's attacks."),
                    EnglishPhrase.New("flight.block", "Flight block"),
                    EnglishPhrase.New("flight.block.icondesc", "Creature is able to block flying creatures."),
                    EnglishPhrase.New("guardian", "Guardian"),
                    EnglishPhrase.New("guardian.icondesc", "Creature cann't attack, but it is able to block creatures with Agility effect."),
                    EnglishPhrase.New("health.max", "Health {0is}"),
                    EnglishPhrase.New("health.min", "Survivability {0is}"),
                    EnglishPhrase.New("hero", "Hero"),
                    EnglishPhrase.New("hero.icondesc", ""), // TODO: описание
                    EnglishPhrase.New("holy", "Holy"),
                    EnglishPhrase.New("holy.icondesc", "Creature gets Sinner effect if the kill an enemy's creature (Sorrow effect if the killed creature is dark or undead). These effects can be removed with Pray. Holy creatures also get additional effects from some Light spells."),
                    EnglishPhrase.New("idler", "Idler"),
                    EnglishPhrase.New("idler.icondesc", "Creature not restores from rest at the start of turn, and can be awakened only by outer actions on it."),
                    EnglishPhrase.New("immune", "Immune to {0n}"),
                    EnglishPhrase.New("immune.scorch.icondesc", "Creatute doesn't get damage from scorches and fire."),
                    EnglishPhrase.New("immune.wound.icondesc", "Creatute doesn't get damage from wounds."),
                    EnglishPhrase.New("immortal", "Immortal"),
                    EnglishPhrase.New("immortal.icondesc", "Creature doesn't die until this effect is active, but it gets Death affect if it loses all health."),
                    EnglishPhrase.New("inerrancy", "Inerrancy"),
                    EnglishPhrase.New("inerrancy.icondesc", "Holy creature always gets Sorrow effect if the kill an enemy's creature, but not Sinner effect."),
                    EnglishPhrase.New("lifeless", "Lifeless"),
                    EnglishPhrase.New("lifeless.icondesc", "Creature doesn't get modifiers of attack and health. Also it doesn't get damage from Poison, Scorch, Venom, and Wound effects."),
                    EnglishPhrase.New("lock_cards", "Cards lock"),
                    EnglishPhrase.New("magic_attack", "Magic attack"),
                    EnglishPhrase.New("magic_attack.icondesc", "Creature deals magic damage instead of physical."),
                    EnglishPhrase.New("mana.income", "{0N} source {1is}."),
                    EnglishPhrase.New("mana.outcome", "{0N} drain {1is}."),
                    EnglishPhrase.New("mana.lock", "Lock {0n} mana."),
                    EnglishPhrase.New("mana.lock.health", "Lock {0n}."),
                    EnglishPhrase.New("mana.lock.income", "Lock {0n} sources."),
                    EnglishPhrase.New("mana.lock.outcome", "Lock {0n} drains."),
                    EnglishPhrase.New("mana.ragima", "Ragima's affecting to {0n} mana."),
                    EnglishPhrase.New("mana.ragima.health", "Ragima's affecting to {0n}."),
                    EnglishPhrase.New("mass_block", "Mass block"),
                    EnglishPhrase.New("mass_block.icondesc", "Creature blocks all possible targets at once."),
                    EnglishPhrase.New("move_tireless", "Tireless move"),
                    EnglishPhrase.New("multiblock", "Multiblock {0}"),
                    EnglishPhrase.New("multiblock.icondesc", "Creature is able to block few creatures at once."),
                    EnglishPhrase.New("natural", "Innate affects"),
                    EnglishPhrase.New("non_blocked", "Nonblocked"),
                    EnglishPhrase.New("non_blocked.icondesc", "Creature cann't be blocked."),
                    EnglishPhrase.New("paralysis", "Paralysis {0}"),
                    EnglishPhrase.New("paralysis.icondesc", "Creature can't perform any action. With some chance, it could resists from Paralysis at the beginning of turn."),
                    EnglishPhrase.New("paralysis.try", "{0N} resists paralysis. (d{1}, {2})"),
                    EnglishPhrase.New("parasite", "Parasite {0}"),
                    EnglishPhrase.New("parasite.icondesc", "Parasite decreases creature's attack and health by it's power at the start of turn. Also when the victim killed by another creature, this creature becomes infested too."),
                    EnglishPhrase.New("parasite.attack", "Infectous attack {0}"),
                    EnglishPhrase.New("parasite.attack.icondesc", "Creature infects enemy with each it's attack."),
                    EnglishPhrase.New("poison", "Poison {0}"),
                    EnglishPhrase.New("poison.desc", "Creature gets {0} darkness damage at the end of offence phase."),
                    EnglishPhrase.New("poison.icondesc", "Creature gets darkness damage at the end of offence phase."),
                    EnglishPhrase.New("poison.attack", "Poisoning attack {0}"),
                    EnglishPhrase.New("poison.attack.icondesc", "Creature poisons enemy with each it's attack."),
                    EnglishPhrase.New("regeneration", "Regeneration {0}"),
                    EnglishPhrase.New("regeneration.full", "Full regeneration"),
                    EnglishPhrase.New("regeneration.icondesc", "Creature restores it's health at the beginning of offence phase."),
                    EnglishPhrase.New("reincarnation", "Reincarnation {0}"),
                    EnglishPhrase.New("reincarnation.icondesc", "With some chance, creature reborns after it's death."),
                    EnglishPhrase.New("reincarnation.try", "{0N} is reborn. (d{1}, {2})"),
                    EnglishPhrase.New("resistance", "Resistance to {0n} {1}"),
                    EnglishPhrase.New("resurrect", "Resurrection"),
                    EnglishPhrase.New("resurrect.icondesc", "Creature was resurrected from dead."),
                    EnglishPhrase.New("rogue", "Rogue {0}"),
                    EnglishPhrase.New("rogue.icondesc", "Enemy player losts some number of cards if creature strikes him."),
                    EnglishPhrase.New("scavenger", "Scavenger"),
                    EnglishPhrase.New("scavenger.icondesc", "Creature restores 1 health (or gets 1 to max health if current is full) when any owner's creature goes to graveyard."),
                    EnglishPhrase.New("scorch", "Scorch {0}"),
                    EnglishPhrase.New("scorch.desc", "Creature gets {0} fire damage at any it's action."),
                    EnglishPhrase.New("scorch.icondesc", "Creature gets fire damage at ant it's action (move, attack, or ability usage)."),
                    EnglishPhrase.New("scorch.attack", "Scorching attack {0}"),
                    EnglishPhrase.New("scorch.attack.icondesc", "Creature deals scorches to enemy with each it's attack."),
                    EnglishPhrase.New("sinner", "Sinner"),
                    EnglishPhrase.New("sinner.desc", "Creature can't perform any action while it's affected by Sinner effect."),
                    EnglishPhrase.New("sinner.icondesc", "Creature can't perform any action while it's affected by Sinner effect. This effect usually can be removed with Pray."),
                    EnglishPhrase.New("sleeper", "Sleeper"),
                    EnglishPhrase.New("sleeper.icondesc", "Creature's rest lasts not until the beginning of turn (offence phase), but till defence phase."),
                    EnglishPhrase.New("slow", "Slow"),
                    EnglishPhrase.New("slow.icondesc", "Creature remains on the field after it's attack, and it blocks opposed creature, without dealing damage. Also creature with Guardian effect becomes able to attack."),
                    EnglishPhrase.New("slos.after_attack", "Slow after attack"),
                    EnglishPhrase.New("sorrow", "Sorrow"),
                    EnglishPhrase.New("sorrow.desc", "Attack decreased by 1."),
                    EnglishPhrase.New("sorrow.desc.ignore", "Creature ignores Sorrow effect."),
                    EnglishPhrase.New("sorrow.icondesc", "Creature's attack decreased by 1 while it's affected by Sorrow effect. This effect usually can be removed with Pray."),
                    EnglishPhrase.New("sorrow.ignore", "Sorrow ignore"),
                    EnglishPhrase.New("spell", "{0N}"),
                    EnglishPhrase.New("spirit", "Spirit"),
                    EnglishPhrase.New("spirit.icondesc", "Creature is immune to physical attacks and wounds. Also it's attacks deals magic damage (unless otherwise stated)."),
                    EnglishPhrase.New("strike_redirect", "Redirect strikes to {0n}."),
                    EnglishPhrase.New("strike_redirect.action", "{0N} intercepts attack."),
                    EnglishPhrase.New("sworn_enemy", "Sworn enemy: {0n}"),
                    EnglishPhrase.New("sworn_enemy.desc", "{0is} attack to {1n}."),
                    EnglishPhrase.New("sworn_enemy.icondesc", "Creature deals more damage to creatures of selected race."),
                    EnglishPhrase.New("time", "Temporary effect"),
                    EnglishPhrase.New("tireless", "Tireless"),
                    EnglishPhrase.New("tireless.icondesc", "Creature doesn't go to rest after it's attack, and may participate in the next defence phase."),
                    EnglishPhrase.New("turnskin", "Metamorphose"),
                    EnglishPhrase.New("turnskin.action", "{0N} metamorphoses to {1n}."),
                    EnglishPhrase.New("turnskin.form", "Metamorphose (form)"),
                    EnglishPhrase.New("unbind", "Unbind"),
                    EnglishPhrase.New("unbind.icondesc", "Creature ignores all effects which disables attack, but loses it's maximum health by number of these effects."),
                    EnglishPhrase.New("undead", "Undead"),
                    EnglishPhrase.New("undead.desc", "Creature gets health from darkness damage and gets damage from healing spells."),
                    EnglishPhrase.New("undead.icondesc", "Creature gets health from darkness damage and gets damage from healing spells."),
                    EnglishPhrase.New("undying", "Undying {0}"),
                    EnglishPhrase.New("undying.desc", "If there are {0} creature{0p:,s} above it in the graveyard, it is resurrected to any emply slot (if there are any, otherwise it stays in the graveyard) at the beginning of owner's turn."),
                    EnglishPhrase.New("undying.icondesc", "If there are some number of creatures above it in the graveyard, it is resurrected to any emply slot (if there are any, otherwise it stays in the graveyard) at the beginning of owner's turn."),
                    EnglishPhrase.New("vampire", "Vampire"),
                    EnglishPhrase.New("vampire.icondesc", "Creature restores it's health from dealing damage to another creatures."),
                    EnglishPhrase.New("vanguard", "Vanguard"),
                    EnglishPhrase.New("vanguard.icondesc", "Creature prepared to actions immediately after it's summoning."),
                    EnglishPhrase.New("venom", "Venom {0}"),
                    EnglishPhrase.New("venom.desc", "Creature gets {0} venom damage at the end of offence phase."),
                    EnglishPhrase.New("venom.icondesc", "Creature gets venom damage at the end of offence phase."),
                    EnglishPhrase.New("venom.attack", "Venomous attack {0}"),
                    EnglishPhrase.New("venom.attack.icondesc", "Creature envenoms enemy with each it's attack."),
                    EnglishPhrase.New("vulnerability", "Vulnerability to {0n} {1}"),
                    EnglishPhrase.New("wound", "Рана {0}"),
                    EnglishPhrase.New("wound.desc", "Creature or player gets {0} damage at the end of offence phase."),
                    EnglishPhrase.New("wound.icondesc", "Creature or player gets damage at the end of offence phase."),
                    EnglishPhrase.New("wound.attack", "Wounding attack {0}"),
                    EnglishPhrase.New("wound.attack.icondesc", "Creature deals wounds to enemy with each it's attack."),
                }),
                new ResourceGroup("target.", new ResourceItem[] {
                    EnglishPhrase.New("notice", "Select {0}."),
                    EnglishPhrase.New("creature.own", "own creature"),
                    EnglishPhrase.New("creature.enemy", "enemy creature"),
                    EnglishPhrase.New("creature.both", "any creature"),
                    EnglishPhrase.New("creature.summon", "own creature for sacrifice"),
                    EnglishPhrase.New("creature.own_except_self", "own creature"),
                    EnglishPhrase.New("land.own", "own land"),
                    EnglishPhrase.New("land.enemy", "enemy land"),
                    EnglishPhrase.New("land.both", "any land"),
                    EnglishPhrase.New("player.own", "yourself"),
                    EnglishPhrase.New("player.enemy", "enemy player"),
                    EnglishPhrase.New("player.both", "any player"),
                    EnglishPhrase.New("graveyard.own", "creature in own graveyard"),
                    EnglishPhrase.New("graveyard.enemy", "creature in enemy graveyard"),
                    EnglishPhrase.New("graveyard.both", "creature in any graveyard"),
                    EnglishPhrase.New("graveyard.own.sacrifice", "creature for sacrifice in own graveyard"),
                    EnglishPhrase.New("graveyard.own.resurrect", "creature for resurrect in own graveyard"),
                    EnglishPhrase.New("enchantment.all", "any enchantment"),
                    EnglishPhrase.New("enchantment.dispellable", "dispellable enchantment"),
                    EnglishPhrase.New("handcard.any", "any card in own hands"),
                    EnglishPhrase.New("handcard.opened", "opened card in own hands"),
                    EnglishPhrase.New("handcard.closed", "closed card in own hands"),
                    EnglishPhrase.New("summon", "place for summon"),
                    EnglishPhrase.New("jog.use", ""),
                    EnglishPhrase.New("jog.summon", ""),
                }),
                new ResourceGroup("condition.", new ResourceItem[] {
                    EnglishPhrase.New("creatures.free", "On the field lesser than {0} free places."),
                    EnglishPhrase.New("creatures.creatures", "On the field lesser than {0} creatures."),
                    EnglishPhrase.New("graveyard.own.lesser", "In your graveyard lesser than {0} creatures."),
                    EnglishPhrase.New("graveyard.own.greater", "In your graveyard greater than {0} creatures."),
                    EnglishPhrase.New("graveyard.enemy.lesser", "In enemy's graveyard lesser than {0} creatures."),
                    EnglishPhrase.New("graveyard.enemy.greater", "In enemy's graveyard greater than {0} creatures."),
                    EnglishPhrase.New("handcards.own", "You have lesser than {0} cards."),
                    EnglishPhrase.New("handcards.enemy", "Enemy have lesser than {0} cards."),
                    EnglishPhrase.New("mana.not_enough", "Not enough {0n} mana."),
                    EnglishPhrase.New("mana.not_enough.health", "Not enough {0n}."),
                    EnglishPhrase.New("meditation.can", "In this turn has already been mana outgo."),
                    EnglishPhrase.New("meditation.not_enough", "Not enough meditation points."),
                }),
                new ResourceGroup("directconnect.", new ResourceItem[] {
                    EnglishPhrase.New("address.label", "Address to connect:"),
                    EnglishPhrase.New("connect.try", "Try connection to: {0} ..."),
                    EnglishPhrase.New("connect.wait", "Waiting connection..."),
                    EnglishPhrase.New("connect.wait.error", "Port opening error."),
                    EnglishPhrase.New("connect.from", "Connection from address: {0}"),
                    EnglishPhrase.New("connect.complete", "Connection successfully."),
                    EnglishPhrase.New("connect.error", "Connection error."),
                    EnglishPhrase.New("connect.abort", "Connection aborted."),
                    EnglishPhrase.New("checkversion.complete", "Version check successfully."),
                    EnglishPhrase.New("checkversion.error", "Version check error: your version - {0}, opponent's version - {1}."),
                    EnglishPhrase.New("opponent.name", "Connected opponent name: {0n}"),
                    EnglishPhrase.New("opponent.waitaccept", "Opponent name: {0n}. Waiting for connection accept..."),
                    EnglishPhrase.New("connect.accept", "Connection accepted."),
                    EnglishPhrase.New("connect.reject", "Connection rejected."),
                    EnglishPhrase.New("avatar.found", "Opponent's avatar successfully found."),
                    EnglishPhrase.New("avatar.request", "Opponent's avatar not found. Sending request."),
                    EnglishPhrase.New("avatar.send", "Received request for avatar. Sending avatar."),
                    EnglishPhrase.New("avatar.receive", "Opponent's avatar received and stored.."),
                    EnglishPhrase.New("checkdeck.complete", "Cards existance check successfully. Sending deck."),
                    EnglishPhrase.New("checkdeck.error", "Cards existance check error."),
                    EnglishPhrase.New("exchange.complete", "Data exchange complete. Countdown to start game:"),
                    EnglishPhrase.New("start_counter", "{0}"),
                    EnglishPhrase.New("start_game", "Start game."),
                }),
                new ResourceGroup("game.", new ResourceItem[] {
                    EnglishPhrase.New("start", "Start game."),
                    EnglishPhrase.New("turn.not_your", "Is not your turn."),
                    EnglishPhrase.New("phase.offence", "{0N1} offence phase."),
                    EnglishPhrase.New("phase.defence", "{0N1} defence phase."),
                    EnglishPhrase.New("phase.end.hint", "Click for ending of phase."),
                    EnglishPhrase.New("card.get", "{0N} get card."),
                    EnglishPhrase.New("card.get.few", "{0N} get {1} card{1p:,s}."),
                    EnglishPhrase.New("card.lose", "{0N} lose {1} card{1p:,s}."),
                    EnglishPhrase.New("card.no_offence", "This card is not available in offence phase."),
                    EnglishPhrase.New("card.no_defence", "This card is not available in defence phase."),
                    EnglishPhrase.New("card.no_targets", "There are no acceptable targets."),
                    EnglishPhrase.New("ability.already_use", "This ability already used."),
                    EnglishPhrase.New("damage", "{0N} lose {1} health."),
                    EnglishPhrase.New("heal", "{0N} recover {1} health."),
                    EnglishPhrase.New("death.creature", "{0N} dies."),
                    EnglishPhrase.New("death.land", "{0N} collapses"),
                    EnglishPhrase.New("mana.increment", "{0N} get {2} {1n}."),
                    EnglishPhrase.New("mana.increment.all", "{0N} get {1} of all mana."),
                    EnglishPhrase.New("summon.creature", "{0N} summons {1n}."),
                    EnglishPhrase.New("summon.land", "{0N} summons {1n}."),
                    EnglishPhrase.New("cast.spell", "{0N} casts {1n}."),
                    EnglishPhrase.New("cast.spell.target", "{0N} casts {1n} to {2n}."),
                    EnglishPhrase.New("cast.ability", "{0N} uses {1n}."),
                    EnglishPhrase.New("cast.ability.target", "{0N} uses {1n} to {2n}."),
                    EnglishPhrase.New("move", "{0N} moved."),
                    EnglishPhrase.New("attack.ready", "{0N} prepares to attack."),
                    EnglishPhrase.New("attack.cancel", "{0N} cancels attack."),
                    EnglishPhrase.New("defend.ready", "{0N} prepares to defend."),
                    EnglishPhrase.New("attack.creature", "{0N} attacks. {1N} defends."),
                    EnglishPhrase.New("attack.player", "{0N} attackks."),
                    EnglishPhrase.New("resurrect", "{0N} resurrects {1n}."),
                    EnglishPhrase.New("resurrect.self", "{0N} resurrected."),
                    EnglishPhrase.New("change_control", "{0N} comes to {1n1} control."),
                }),
                new ResourceGroup("deck.", new ResourceItem[] {
                    EnglishPhrase.New("full", "Full deck"),
                    EnglishPhrase.New("element", "Full {0N} element"),
                    EnglishPhrase.New("select", "{0N} select deck '{1}'."),
                    EnglishPhrase.New("received_enemy", "Enemy's deck received. Main element is {0N}."),
                }),
            });

            yield return new ArrayLocalizer("en", "deckmanager.", new ResourceGroup[] {
                new ResourceGroup("filter.hint.element.", new ResourceItem[] {
                    EnglishPhrase.New("neutral", "Neutral"),
                    EnglishPhrase.New("light", "Light"),
                    EnglishPhrase.New("darkness", "Darkness"),
                    EnglishPhrase.New("fire", "Fire"),
                    EnglishPhrase.New("water", "Water"),
                    EnglishPhrase.New("earth", "Earth"),
                    EnglishPhrase.New("air", "Air"),
                    EnglishPhrase.New("all", "All elements"),
                }),
                new ResourceGroup("filter.hint.type.", new ResourceItem[] {
                    EnglishPhrase.New("creature", "Creatures"),
                    EnglishPhrase.New("land", "Lands"),
                    EnglishPhrase.New("spell", "Spells"),
                    EnglishPhrase.New("enchantment", "Enchantments"),
                    EnglishPhrase.New("ability", "Abilities"),
                    EnglishPhrase.New("all", "All card types"),
                }),
            });
        }
    }
}
